//定义info小仓库
import { defineStore } from "pinia"

//第一个仓库:小仓库名字，第二个参数:小仓库的配置对象
//defineStore方法执行会返回一个函数，函数作用就是让组件可以获取到仓库的数据
let useInfoStore = defineStore("info",{
  
  //存储数据:state
  state:()=>{
    return {
      count:9999,
      arr:[1,2,3,4]
    }
  },
  actions:{
    updateNum(a:number,b:number){
      //this仓库对象
    //  console.log(this)
    //没有commit,没有mutations去修改数据
    console.log(a,b)
      this.count+=a;
    }
  },
  getters:{
    total(){
      let result:any = this.arr.reduce((prev:number,next:number)=>{
        return prev+next;
      },0)
      return result;
    }

  }
})

//对外暴露方法
export default useInfoStore

